<div id="padlist">
<h2>Our Software</h2>
<ul>
{php}
// Path to PAD Files
$pathTOpads = "../softwareData/padfiles"; 

$directoryListing = array(); // Declare as array
$directoryListing = preg_ls($pathTOpads, true, "/.*\.xml/i"); // Fill array
asort($directoryListing); // Sort in ascending order

// Process each listing
foreach ($directoryListing as $file) {
	$PAD = new PADFile("/home/dgrega/public_html/padded/softwareData/". $file);
	$PAD->Load();

	echo "<li>";
	echo "<a href=\"";

	$file = str_replace(".xml",".html",str_replace($pathTOpads . "/","",$file));
	echo $file;

	echo "\">";
	echo $PAD->XML->GetValue("XML_DIZ_INFO/Program_Info/Program_Name");
	echo "</a>";
	echo "</li>\n";
}

# Source: http://us2.php.net/manual/en/class.dir.php#60562
##########################################################
function preg_ls ($path=".", $rec=false, $pat="/.*/") {
   // it's going to be used repeatedly, ensure we compile it for speed.
   $pat=preg_replace("|(/.*/[^S]*)|s", "\\1S", $pat);
   //Remove trailing slashes from path
   while (substr($path,-1,1)=="/") $path=substr($path,0,-1);
   //also, make sure that $path is a directory and repair any screwups
   if (!is_dir($path)) $path=dirname($path);
   //assert either truth or falsehoold of $rec, allow no scalars to mean truth
   if ($rec!==true) $rec=false;
   //get a directory handle
   $d=dir($path);
   //initialise the output array
   $ret=Array();
   //loop, reading until there's no more to read
   while (false!==($e=$d->read())) {
       //Ignore parent- and self-links
       if (($e==".")||($e=="..")) continue;
       //If we're working recursively and it's a directory, grab and merge
       if ($rec && is_dir($path."/".$e)) {
           $ret=array_merge($ret,preg_ls($path."/".$e,$rec,$pat));
           continue;
       }
       //If it don't match, exclude it
       if (!preg_match($pat,$e)) continue;
       //In all other cases, add it to the output array
       $ret[]=$path."/".$e;
   }
   //finally, return the array
   return $ret;
}

{/php}
</ul>
</div>